本章课程PDF,视频(油管B站)。

本章主要讲非线性的降维。

Manifold Learning

Data Point可能是在高维空间里面的一个Manifold,也就是说,Data Point其实是分布在一个低维空间里面,只是被扭曲了,塞到一个高维空间里面。在manifold上,只有距离很近的点,欧式几何才成立。Manifold Learning是把S形的这块东西展开,把塞在高维空间里的低维空间摊平,之后就可以使用欧氏距离计算点与点之间的距离。

Locally Linear Embedding (LLE)

从原来的分布中找一点$x^i$,然后找它的neighbor $x^j$,计算它们之间的关系$w_{ij}$。把$x^i$,$x^j$ 降维、转成$z^i$,$z^j$之后要保证它们之间的$w_{ij}$不变。

李老师课上形象的比喻。

LLE没有明确的function去做降维。
LLE或类似方法有一个好处:就算不知道$x^i$,$x^j$只知道$w_{ij}$ ,也可以用LLE。

LLE需要好好的选取neighbor的数值,neighbor选的数目刚刚好才会得到好的结果。因为欧氏距离只在点与点很近的距离之内才可以用,所以点与点之间的关系在transform前后可以被keep住,只有在距离很近的时候才能够成立。当K选的很大的时候,会考虑到距离很远的点,会考虑到transform之后relation没有办法被keep住的点,这些点不应该被考虑进来。

Laplacian Eigenmaps


在半监督学习时,$S$与labelled data无关,它利用unlabelled data考虑得到的label是否smooth,作用类似于正则项。

无监督时候最小化$S$会有问题,因为只要让$z^i$=$z^j$,值等于0,是最小值。在半监督学习时没有这个问题,是因为半监督学习的损失函数还有一项从标注数据而来,如果让所有标签都相等则那一项会很大。
无监督学习时候要加一个约束:设$z$是M维的,则$z^1$,$z^2$,…,$z^N$张成$R^M$空间。
这样解出$z$。$z$就是graph laplacion $L$ 的eigenvector,对应比较小的eigenvalue的eigenvector。

先找出z再用K-means做聚类,叫Spectral clustering。

T-distributed Stochastic Neighbor Embedding (t-SNE)

在前面的方法中有一个最大的问题,就是相近的点是接近的,但是没有把不相近的点分开,就如图LLE on MNIST,确实把相同颜色的点聚在一起,但是不同颜色的点没有分开。

t-SNE先分别计算原空间、新空间中所有点对的相似度再归一化。归一化是必要的,为了防止两个空间中距离的scale不同。 然后最小化二者之间的KL divergence,用Gradient Descent求值。
t-SNE计算量大,一般先用PCA降维(比如降到50维),再用t-SNE降维(在从50维降到2维)。
t-SNE需要一堆data point,然后找到z。如果之后再给一个数据,t-SNE是没办法接着做的,只能再跑一遍。 一般t-SNE的作用不是用在training testing这种base上面,通常用于可视化。
t-SNE的神妙之处在于原空间与新空间中相似度计算公式不同。
原空间的计算公式,使得两个点的相似度随距离增加快速下降。 而新空间的计算公式,是长尾的,为了维持原来相同的相似度,两个点之间要分得更开。对原来距离很近的点,影响很小。而原来离得远的点,会被拉开,gap会被强化。



如果本博文对您有帮助,可以赞助支持一波博主~